package com.zym.init.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.zym.init.model.dto.PageDTO;
import com.zym.init.model.po.PermissionPo;
import com.zym.init.model.query.PermissionQuery;
import com.zym.init.model.vo.PermissionVo;

import java.util.List;

/**
* @author zouyangming
* @description 针对表【permission(权限表)】的数据库操作Service
* @createDate 2024-05-27 22:06:03
*/
public interface PermissionService extends IService<PermissionPo> {
    /**
     * 获取权限列表
     *
     * @return 权限列表
     */
    PageDTO<PermissionVo> getPage(PermissionQuery query);

    /**
     * 新增权限
     *
     * @return 结果
     */
    boolean add(PermissionQuery query);

    /**
     * 编辑权限
     *
     * @return 结果
     */
    boolean edit(PermissionQuery query);

    /**
     * 根据权限代码获取权限信息列表
     */
    List<PermissionVo> getByCodeList(List<String> codes);

    /**
     * 判断权限代码是否被使用
     *
     * @param ids 权限ID列表
     * @return 是否被使用
     */
    boolean isPermissionCodeUsed(List<Long> ids);
}
